package com.Singleton;

import com.InterviewProgram.Singleton;

/**
 * 通常做法
 * 1.将构造函数设为私有 这样其他代码无法通过调用
 * 构造方法实例化该类的对象，只有通过该类的静态方法获得该类的唯一实例
 * 2.在该类提供一个静态方法，当调用这个方法的时候，判断该类的保持的引用是否为空，
 * 如果为空就创建该类的实例并将该实例的引用赋予该类保持的引用。
 *
 * 下面这个例子 懒汉式 线程不安全 不使用
 * Create by shengong on 2019-06-04 00:30
 */
public class Singleton02 {
    //
    private Singleton02(){}
    private static Singleton02 INSTANCE;
    public static Singleton02 getInstance(){
        if(INSTANCE == null){
            INSTANCE = new Singleton02();
        }
        return INSTANCE;
    }
}
